/*
 * BeacManage.nc
 * David Moore <dcm@mit.edu>
 *
 * Module for handling distance measurements to neighboring beacons.  Keeps
 * track of recent measurements, and purges outdated ones.  Also allows
 * measurements to be relayed to other nodes and handles received relays.
 *
 * Provides the ability to dump these measurements to the serial port.
 * Although no specific query functions are implemented, one can write them
 * as necessary for the specific application.
 *
 * TODO: accurate timestamping capability
 */
/*
      This software may be used and distributed according to the terms
      of the GNU General Public License (GPL), incorporated herein by reference.
      Drivers based on this skeleton fall under the GPL and must retain
      the authorship (implicit copyright) notice.

      This program is distributed in the hope that it will be useful, but
      WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
      General Public License for more details.
*/

interface BeacManage {
    command result_t NewMeasurement(uint8_t * id, uint16_t d);
    command uint16_t GetMeasurements(uint8_t * id, uint8_t pos);
    command uint8_t ResetBeaconId();
    command uint8_t GetNextBeaconId(uint8_t *id);
    command result_t SetId(uint8_t * id);
    command result_t DebugPrint(uint8_t * id);
}
